# coding:UTF-8
"""
Created on 2015年3月28日

@author: Administrator

内容创建模型模块
"""

from django.db import models
from django.template.defaultfilters import default
from account.models import User

class Sharing(models.Model):
    """
    文章模型类
    """
    status = models.BooleanField(default=True,max_length=10, help_text="是否可用，0为不可用(但管理员可见)，1为可用")
    author = models.ForeignKey(User, help_text="作者")
    title=models.CharField(max_length=40, help_text="主题目")
    tags=models.CharField(max_length=10, help_text="标签")
    preview=models.CharField(max_length=255, help_text="导读")
    content=models.TextField(help_text="主体正文")
    publishTime=models.DateTimeField(auto_now_add=True, help_text="发表时间")
    reviseTime=models.DateTimeField(auto_now=True, help_text="上次修改时间")
    allScanCount=models.IntegerField(default=0, help_text="所有的浏览次数")
    weekScanCount=models.IntegerField(default=0, help_text="周浏览次数")
    createTime=models.DateTimeField(auto_now_add=True, help_text="创建时间（！=发表时间），创建了可能是保存草稿（todo）")

    def __unicode__(self):
        return "%s" % u"文章"

    class Meta:
        db_table="sharing"


        
class Comment(models.Model):
    """
    评论发起第一条
    """
    status=models.BooleanField(default=True, max_length=10, help_text="是否可用，0为不可用(但管理员可见)，1为可用")
    article=models.ForeignKey(Sharing, related_name="commentlist", help_text="文章外键")
    #文章评论者，不是针对评论的评论者
    reviewer=models.ForeignKey(User, help_text="该评论的发起者")
    content=models.CharField(max_length=200, help_text="评论内容")
    createTime=models.DateTimeField(auto_now_add=True, help_text="创建时间")

    def __unicode__(self):
        return "%s" % u"评论"

    class Meta:
        db_table="comment"
        
class Reply(models.Model):
    """
    回复（不是评论发起）
    """
    status=models.BooleanField(default=True, max_length=10, help_text="是否可用，0为不可用(但管理员可见)，1为可用")
    comment=models.ForeignKey(Comment, related_name="allreply", help_text="评论外键")
    firstPer=models.ForeignKey(User, related_name="replyer", help_text="在某个评论里先回复者")
    secondPer=models.ForeignKey(User, related_name="beenreplyer", help_text="在某个评论里被回复者")
    content=models.CharField(max_length=200, help_text="回复内容")
    createTime=models.DateTimeField(auto_now_add=True, help_text="创建时间")

    def __unicode__(self):
        return "%s" % u"回复"

    class Meta:
        db_table="reply"
        

class Praise(models.Model):
    """
    点赞
    """
    status=models.BooleanField(default=True, max_length=10, help_text="是否可用，0为不可用(但管理员可见)，1为可用")
    source=models.CharField(default='', max_length=10, help_text="点赞对象id（非外键），需要从类型中甄别")
    sourceType = models.PositiveIntegerField(default=0, help_text="来源类型")
    fromUser=models.ForeignKey(User, help_text="点赞者")
    createTime=models.DateTimeField(auto_now_add=True, help_text="创建时间")

    def __unicode__(self):
        return "%s" % u"点赞"

    class Meta:
        db_table="praise"
        
class Collection(models.Model):
    """
    收藏模型类
    """
    status=models.CharField(default=True, max_length=10, help_text="是否可用，0为不可用(但管理员可见)，1为可用")
    source=models.CharField(default='', max_length=10, help_text="点赞对象id（非外键），需要从类型中甄别")
    sourceType = models.PositiveIntegerField(default=0, help_text="来源类型")
    collectors=models.ManyToManyField(User, help_text="收藏者")
    content=models.CharField(max_length=200, help_text="描述")
    url=models.CharField(max_length=255, help_text="收藏的历史来源")
    createTime=models.DateTimeField(auto_now_add=True, help_text="创建时间")

    def __unicode__(self):
        return "%s" % u"收藏"

    class Meta:
        db_table="collection"
        
class City(models.Model):
    """
    城市模型类类
    """
    status=models.CharField(default=True, max_length=10, help_text="是否可用，0为不可用(但管理员可见)，1为可用")
    cityName=models.CharField(max_length=20, help_text="城市名称")
    more=models.CharField(max_length=200, help_text="更多描述")

    def __unicode__(self):
        return "%s" % u"城市"

    class Meta:
        db_table="city"

        